#pragma GCC optimize(2)
#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
#include <stack>
#include <bitset>
#define F first
#define S second
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;

void solve()
{
	int x,y;
	cin>>x>>y;
	string s;
	cin>>s;
	int sx=0;
	int sy=0;
	int l=0,r=0,u=0,d=0;
	int f=1;
	for(auto it:s)
	{
		if(it=='L') l++,sx--;
		else if(it=='R') r++,sx++;
		else if(it=='U') u++,sy++;
		else d++,sy--;
		if(sx==x && sy==y) f=0;
	}
	
	if((sx==x && sy==y) || (x==0 && y==0))
	{
		cout<<"Impossible"<<'\n';
		return ;
	}
	if(f)
	{
		cout<<s<<'\n';
		return;
	}
	if(y==0)
	{
		if(x*sx>0 && abs(sx)>abs(x) && sy==0 && u==0 && d==0)
		{
			cout<<"Impossible"<<'\n';
			return ;
		}
		if(sy>0 && x*sx>0)
		{
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=d;i++) cout<<"D";
			cout<<'\n';
			return ;
		 }
		 if(sy<0 && x*sx>0)
		 {
		 	for(int i=1;i<=d;i++) cout<<"D";
		 	for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=u;i++) cout<<"U";
			cout<<'\n';
			return ;
		 }
		if(u)
		{
			cout<<"U";
			u--;
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			cout<<'\n';
			return ;
		}
		if(d)
		{
			cout<<"D";
			d--;
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			cout<<'\n';
			return ;
		}
		if(x<0)
		{
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			cout<<'\n';
			return ;
		}
		if(x>0)
		{
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=r;i++) cout<<"R";
			cout<<'\n';
			return ;
		}
	}
	if(x==0)
	{
		if(y*sy>0 && abs(sy)>abs(y) && sx==0 && l==0 && r==0)
		{
			cout<<"Impossible"<<'\n';
			return ;
		}
		if(sx>0 && y*sy>0)
		{
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=l;i++) cout<<"L";
			cout<<'\n';
			return ;
		}
		if(sx<0 && y*sy>0)
		{
			for(int i=1;i<=l;i++) cout<<"L";
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=r;i++) cout<<"R";
			cout<<'\n';
			return ;
		}
		if(l)
		{
			cout<<"L";
			l--;
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			cout<<'\n';
			return ;
		}
		if(r)
		{
			cout<<"R";
			r--;
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			cout<<'\n';
			return ;
		}
		if(y>0)
		{
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=u;i++) cout<<"U";
			cout<<'\n';
			return ;
		}
		if(y<0)
		{
			for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			cout<<'\n';
			return ;
		}
	}
	if(x==sx)
	{
		for(int i=1;i<=u;i++) cout<<"U";
			for(int i=1;i<=d;i++) cout<<"D";
			for(int i=1;i<=r;i++) cout<<"R";
			for(int i=1;i<=l;i++) cout<<"L";
			cout<<'\n';
			return ;
	}
	else if(y==sy)
	{
		for(int i=1;i<=r;i++) cout<<"R";
		for(int i=1;i<=l;i++) cout<<"L";
		for(int i=1;i<=u;i++) cout<<"U";
		for(int i=1;i<=d;i++) cout<<"D";
		cout<<'\n';
		return ;
	}
	else
	{
		for(int i=1;i<=r;i++) cout<<"R";
		for(int i=1;i<=l;i++) cout<<"L";
		for(int i=1;i<=u;i++) cout<<"U";
		for(int i=1;i<=d;i++) cout<<"D";
		cout<<'\n';
		return ;
	}
	
}
int main()
{
	IOS;
	int T=1;
	cin>>T;

	while(T--)
	{
		solve();
	}

	return 0;
}

